﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;

namespace SecsaMvcApplication.Models
{
    public class Paciente
    {
        public int Id { get; set; }

        [Display(Name = "Data de Cadastro")]
        [DataType(DataType.Date)]
        public DateTime DataCadastro { get; set; }

        [Required(ErrorMessage = "O campo Nome deve ser preenchido!")]
        [Display(Name = "Nome")]
        public string Nome { get; set; }

        [Display(Name = "RG")]
        public string Rg { get; set; }

        [Display(Name = "CPF")]
        public string Cpf { get; set; }

        [Display(Name = "Registro de Nascimento")]
        public string RegistroNascimento { get; set; }

        [Display(Name = "Registro do SUS")]
        public string RegistroSus { get; set; }

        [Display(Name = "Profissão")]
        public string Profissao { get; set; }

        [Display(Name = "Telefone Primário")]
        public string Telefone1 { get; set; }

        [Display(Name = "Telefone Secundário")]
        public string Telefone2 { get; set; }

        [Display(Name = "Data de Nascimento")]
        [DataType(DataType.Date)]
        public DateTime DataNascimento { get; set; }

        [Display(Name = "Sexo")]
        public string Sexo { get; set; }

        [Display(Name = "Estado Civil")]
        public string EstadoCivil { get; set; }

        [Display(Name = "Tipo Sanguíneo")]
        public string TipoSangue { get; set; }

        [Display(Name = "Nome do Pai")]
        public string NomePai { get; set; }

        [Display(Name = "Telefone do Pai")]
        public string FonePai { get; set; }

        [Display(Name = "Nome da Mãe")]
        public string NomeMae { get; set; }

        [Display(Name = "Telefone da Mãe")]
        public string FoneMae { get; set; }

        [Display(Name = "Grau de Instrução")]
        public string GrauInstrucao { get; set; }

        [Display(Name = "Responsável")]
        public string Responsavel { get; set; }

        [Display(Name = "Telefone do Responsável")]
        public string TelefoneResponsavel { get; set; }

        [Display(Name = "Logradouro")]
        public string Logradouro { get; set; }

        [Display(Name = "Bairro")]
        public string Bairro { get; set; }

        [Display(Name = "Complemento")]
        public string Complemento { get; set; }

        [Display(Name = "Cidade")]
        public string Cidade { get; set; }

        [Display(Name = "Estado")]
        public string Uf { get; set; }

        [Display(Name = "CEP")]
        public string Cep { get; set; }

        public virtual ICollection<Consulta> Consultas { get; set; }

        public virtual ICollection<Antecedente> Antecedentes { get; set; }
    }
}